package com.sxbang.bms.base;


import java.io.Serializable;
import java.util.List;

/**
 * @author emoker
 * @date 2019/04/12
 * @Description 适用于单表操作的BaseDao，包含一些简单增删改查的方法，
 * 使用时需要指定泛型，E ：实体类，ID：PO的主键类型
 */
public interface BaseDao<E, ID extends Serializable> {

    public E save (E e);

    public List<E> save(List<E> es);

    public E get (ID id);

    public List<E> findAll ();

    public List<E> list (Iterable<ID> ids);

    public List<E> list (Integer offset, Integer limit);

    public E update (E e);

    public void delete (E e);

    public void delete (ID id);

    public Long countAll ();

}
